253. docker內服務狀態判斷
WHY
上一篇 251. GCE上的docker監控 ,
能取得服務本身的CPU、Memory..等,
但如果要判斷服務有沒有正常,
還真的不知從何著手。
Solution
使用 container_last_seen 配上 absent取絕對值
absent(container_last_seen{name=~"filebeat"}) OR vector(0)
為什麼要加上 or vector(0)
的原因是
當promQL判斷服務 filebeat
還活著的話,
不會有任何資料。
當服務沒啟動時,才會顯示 1
於是加上後面 OR vector(0)
當沒有查詢結果時,預設會顯示 0 ,方便告警復歸。